const {defineConfig} = require('@vue/cli-service')
module.exports = defineConfig({
    transpileDependencies: true,
    devServer: {
        port: 8085,
        host: "localhost",
        // 启动项目后会自动打开浏览器
        open: true,
        proxy: {
            // https://i.maoyan.com/api/mmdb/movie/v3/list/hot.json?ct=上海&ci=10&channelId=4
            // 属性名即是代理的一个标识：发送请求时以/one开头
            // 流程：如果axios发送的请求地址为：axios.get("/one")
            //      1- 会将代理地址target与请求地址进行拼接：https://i.maoyan.com/one
            "/one": {
                // 代理的服务地址
                target: "https://i.maoyan.com"
            },
            // 流程：如果axios发送的请求地址为：axios.get("/two/api/mmdb/movie/v3/list/hot.json?ct=上海&ci=10&channelId=4")
            //  1- 会将代理地址target与请求地址进行拼接：https://i.maoyan.com/two/api/mmdb/movie/v3/list/hot.json?ct=上海&ci=10&channelId=4
            "/two": {
                // 代理的服务地址
                target: "https://i.maoyan.com"
            },
            // 流程：如果axios发送的请求地址为：axios.get("/three/api/mmdb/movie/v3/list/hot.json?ct=上海&ci=10&channelId=4")
            //  1- 将请求地址以/three开头部分用空字符串替换:
            //     请求地址由：/three/api/mmdb/movie/v3/list/hot.json?ct=上海&ci=10&channelId=4
            //     变为：/api/mmdb/movie/v3/list/hot.json?ct=上海&ci=10&channelId=4
            //  2- target地址会与请求地址进行拼接：
            //     target:https://i.maoyan.com
            //     请求地址：/api/mmdb/movie/v3/list/hot.json?ct=上海&ci=10&channelId=4
            //     拼接后：https://i.maoyan.com/api/mmdb/movie/v3/list/hot.json?ct=上海&ci=10&channelId=4
            "/three": {
                // 代理的服务地址
                target: "https://i.maoyan.com",
                // changeOrigin相较于请求服务（i.maoyan.com）而言的
                // true:那么服务会认为来源来自于i.maoyan.com
                // false:那么服务会认为来源来自于zhangpeiyue.com
                changeOrigin: true,
                // 将请求地址以/three开头部分用空字符串替换
                pathRewrite: {
                    "^/three": ""
                }
            },
            // https://i.maoyan.com/api/mmdb/movie/v3/list/hot.json?ct=上海&ci=10&channelId=4
            "/four": {
                target: "https://i.maoyan.com/api/mmdb/movie/v3/list",
                changeOrigin: true,
                pathRewrite: {
                    "^/four": ""
                }
            },
            // https://i.maoyan.com/api/mmdb/movie/v3/list/hot.json?ct=上海&ci=10&channelId=4
            "/api": {
                target: "https://i.maoyan.com",
                changeOrigin: true
            },
            // 请求地址：/zhang/info
            // 1- 会将target与请求地址进行拼接：http://zhangpeiyue.com/zhang/info
            "/five": {
                target: "http://localhost:8089"
            },
            // 请求地址：/my/info
            // 1- pathRewrite会将请求地址以/my替换为"",请求地址会由/my/info变为/info
            // 2- 会在target后拼接上请求地址：http://zhangpeiyue.com:8089/info
            "/my": {
                target: "http://localhost:8089",
                // changeOrigin相较于请求服务（http://zhangpeiyue.com:8089）而言的
                // true:那么服务会认为来源来自于:http://zhangpeiyue.com:8089
                // false:那么服务会认为来源来自于:http://zhangpeiyue.com
                changeOrigin: true,
                pathRewrite: {
                    "^/my": ""
                }
            }
        }
    }
})
